[INFO] cloning repository https://github.com/jix/varisat
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jix/varisat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjix%2Fvarisat", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjix%2Fvarisat'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 33e876937c5d22305664e9ae5601484b25cec23f
[INFO] fixing jix/varisat against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjix%2Fvarisat" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jix/varisat
[INFO] finished tweaking git repo https://github.com/jix/varisat
[INFO] tweaked toml for git repo https://github.com/jix/varisat written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jix/varisat on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jix/varisat already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d14d30ae1e18830603eae36ed64517e240c99093ddde577ddb91868e8d3565cc
[INFO] running `Command { std: "docker" "start" "d14d30ae1e18830603eae36ed64517e240c99093ddde577ddb91868e8d3565cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d14d30ae1e18830603eae36ed64517e240c99093ddde577ddb91868e8d3565cc" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d14d30ae1e18830603eae36ed64517e240c99093ddde577ddb91868e8d3565cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d14d30ae1e18830603eae36ed64517e240c99093ddde577ddb91868e8d3565cc" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating varisat-internal-macros/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat-formula/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat-dimacs/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat-internal-proof/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat-checker/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat-lrat/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat-cli/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Compiling libc v0.2.76
[INFO] [stderr]    Compiling proc-macro2 v1.0.20
[INFO] [stderr]    Compiling syn v1.0.40
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling anyhow v1.0.32
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]     Checking ppv-lite86 v0.2.9
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking regex-syntax v0.6.18
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking bit-vec v0.6.2
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]     Checking itoa v0.4.6
[INFO] [stderr]     Checking bit-set v0.5.2
[INFO] [stderr]    Compiling serde_derive v1.0.115
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]    Compiling serde v1.0.115
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking smallvec v1.4.2
[INFO] [stderr]    Compiling thread_local v1.0.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand_xorshift v0.2.0
[INFO] [stderr]    Compiling aho-corasick v0.7.13
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling varisat v0.2.2 (/opt/rustwide/workdir/varisat)
[INFO] [stderr]    Migrating varisat/build.rs from 2018 edition to 2021
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking leb128 v0.2.4
[INFO] [stderr] warning: varisat@0.2.2: drat-trim proof checker not found, some tests will be disabled: No such file or directory (os error 2)
[INFO] [stderr] warning: varisat@0.2.2: rate proof checker not found, some tests will be disabled: No such file or directory (os error 2)
[INFO] [stderr]     Checking ordered-float v2.0.0
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking vec_mut_scan v0.3.0
[INFO] [stderr]     Checking termcolor v1.1.0
[INFO] [stderr]     Checking unicode-xid v0.2.1
[INFO] [stderr]     Checking tempfile v3.1.0
[INFO] [stderr]    Compiling varisat-lrat v0.2.2 (/opt/rustwide/workdir/varisat-lrat)
[INFO] [stderr]    Migrating varisat-lrat/build.rs from 2018 edition to 2021
[INFO] [stderr]     Checking term_size v0.3.2
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr] warning: varisat-lrat@0.2.2: check-lrat utility not found, some tests will be disabled: No such file or directory (os error 2)
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling varisat-cli v0.2.2 (/opt/rustwide/workdir/varisat-cli)
[INFO] [stderr]    Migrating varisat-cli/build.rs from 2018 edition to 2021
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking proptest v0.10.1
[INFO] [stderr]     Checking regex v1.3.9
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]    Compiling synstructure v0.12.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.20
[INFO] [stderr]    Compiling partial_ref_derive v0.3.2
[INFO] [stderr]    Compiling varisat-internal-macros v0.2.2 (/opt/rustwide/workdir/varisat-internal-macros)
[INFO] [stderr]    Migrating varisat-internal-macros/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking partial_ref v0.3.2
[INFO] [stderr]     Checking thiserror v1.0.20
[INFO] [stderr]     Checking varisat-formula v0.2.2 (/opt/rustwide/workdir/varisat-formula)
[INFO] [stderr]    Migrating varisat-formula/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking varisat-internal-proof v0.2.2 (/opt/rustwide/workdir/varisat-internal-proof)
[INFO] [stderr]     Checking varisat-dimacs v0.2.2 (/opt/rustwide/workdir/varisat-dimacs)
[INFO] [stderr]    Migrating varisat-internal-proof/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat-dimacs/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking varisat-checker v0.2.2 (/opt/rustwide/workdir/varisat-checker)
[INFO] [stderr]    Migrating varisat-checker/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat-lrat/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking toml v0.5.6
[INFO] [stderr]    Migrating varisat/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat-cli/src/main.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat/tests/cnfs.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat/tests/checker.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 53.26s
[INFO] [stderr] crater-edition-check: varisat-internal-macros v0.2.2 (/opt/rustwide/workdir/varisat-internal-macros) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: varisat-formula v0.2.2 (/opt/rustwide/workdir/varisat-formula) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: varisat-dimacs v0.2.2 (/opt/rustwide/workdir/varisat-dimacs) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: varisat-internal-proof v0.2.2 (/opt/rustwide/workdir/varisat-internal-proof) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: varisat-checker v0.2.2 (/opt/rustwide/workdir/varisat-checker) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: varisat v0.2.2 (/opt/rustwide/workdir/varisat) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: varisat-lrat v0.2.2 (/opt/rustwide/workdir/varisat-lrat) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: varisat-cli v0.2.2 (/opt/rustwide/workdir/varisat-cli) updating edition from 2018 to 2021
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Checking varisat-formula v0.2.2 (/opt/rustwide/workdir/varisat-formula)
[INFO] [stderr]    Compiling varisat v0.2.2 (/opt/rustwide/workdir/varisat)
[INFO] [stderr]    Compiling varisat-internal-macros v0.2.2 (/opt/rustwide/workdir/varisat-internal-macros)
[INFO] [stderr]    Compiling varisat-lrat v0.2.2 (/opt/rustwide/workdir/varisat-lrat)
[INFO] [stderr]    Compiling varisat-cli v0.2.2 (/opt/rustwide/workdir/varisat-cli)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat-formula/src/cnf.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn new_var_iter(&mut self, count: usize) -> NewVarIter<Self> {
[INFO] [stdout]     |                     ^^^^^^^^^                   ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn new_var_iter(&mut self, count: usize) -> NewVarIter<'_, Self> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat-formula/src/cnf.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn new_lit_iter(&mut self, count: usize) -> NewVarIter<Self, Lit> {
[INFO] [stdout]     |                     ^^^^^^^^^                   ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn new_lit_iter(&mut self, count: usize) -> NewVarIter<'_, Self, Lit> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking varisat-internal-proof v0.2.2 (/opt/rustwide/workdir/varisat-internal-proof)
[INFO] [stderr]     Checking varisat-dimacs v0.2.2 (/opt/rustwide/workdir/varisat-dimacs)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat-formula/src/cnf.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn new_var_iter(&mut self, count: usize) -> NewVarIter<Self> {
[INFO] [stdout]     |                     ^^^^^^^^^                   ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn new_var_iter(&mut self, count: usize) -> NewVarIter<'_, Self> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat-formula/src/cnf.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn new_lit_iter(&mut self, count: usize) -> NewVarIter<Self, Lit> {
[INFO] [stdout]     |                     ^^^^^^^^^                   ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn new_lit_iter(&mut self, count: usize) -> NewVarIter<'_, Self, Lit> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:31:30
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(value.to_le()) };
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 31 -         let bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(value.to_le()) };
[INFO] [stdout] 31 +         let bytes = unsafe { u64::to_ne_bytes(value.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:35:33
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let lo_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(lo_data.to_le()) };
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 35 -         let lo_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(lo_data.to_le()) };
[INFO] [stdout] 35 +         let lo_bytes = unsafe { u64::to_ne_bytes(lo_data.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:37:33
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let hi_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(hi_data.to_le()) };
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 37 -         let hi_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(hi_data.to_le()) };
[INFO] [stdout] 37 +         let hi_bytes = unsafe { u64::to_ne_bytes(hi_data.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[..8]).unwrap())
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 47 -         std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[..8]).unwrap())
[INFO] [stdout] 47 +         u64::from_ne_bytes(*<&[u8; 8]>::try_from(&bytes[..8]).unwrap())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |             std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[8..]).unwrap())
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 60 -             std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[8..]).unwrap())
[INFO] [stdout] 60 +             u64::from_ne_bytes(*<&[u8; 8]>::try_from(&bytes[8..]).unwrap())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking varisat-checker v0.2.2 (/opt/rustwide/workdir/varisat-checker)
[INFO] [stderr] warning: varisat@0.2.2: drat-trim proof checker not found, some tests will be disabled: No such file or directory (os error 2)
[INFO] [stderr] warning: varisat@0.2.2: rate proof checker not found, some tests will be disabled: No such file or directory (os error 2)
[INFO] [stderr] warning: varisat-lrat@0.2.2: check-lrat utility not found, some tests will be disabled: No such file or directory (os error 2)
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:31:30
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(value.to_le()) };
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 31 -         let bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(value.to_le()) };
[INFO] [stdout] 31 +         let bytes = unsafe { u64::to_ne_bytes(value.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:35:33
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let lo_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(lo_data.to_le()) };
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 35 -         let lo_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(lo_data.to_le()) };
[INFO] [stdout] 35 +         let lo_bytes = unsafe { u64::to_ne_bytes(lo_data.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:37:33
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let hi_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(hi_data.to_le()) };
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 37 -         let hi_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(hi_data.to_le()) };
[INFO] [stdout] 37 +         let hi_bytes = unsafe { u64::to_ne_bytes(hi_data.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[..8]).unwrap())
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 47 -         std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[..8]).unwrap())
[INFO] [stdout] 47 +         u64::from_ne_bytes(*<&[u8; 8]>::try_from(&bytes[..8]).unwrap())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |             std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[8..]).unwrap())
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 60 -             std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[8..]).unwrap())
[INFO] [stdout] 60 +             u64::from_ne_bytes(*<&[u8; 8]>::try_from(&bytes[8..]).unwrap())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> varisat-checker/src/transcript.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         &mut self,
[INFO] [stdout]    |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 44 |     ) -> Option<ProofTranscriptStep> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 44 |     ) -> Option<ProofTranscriptStep<'_>> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImplNode`
[INFO] [stdout]   --> varisat/src/prop.rs:13:38
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use graph::{Conflict, ImplGraph, ImplNode, Reason};
[INFO] [stdout]    |                                      ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_drat_trim`
[INFO] [stdout]    --> varisat/src/proof.rs:398:24
[INFO] [stdout]     |
[INFO] [stdout] 398 |         #[cfg_attr(not(test_drat_trim), ignore)]
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_drat_trim)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_drat_trim)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_drat_trim`
[INFO] [stdout]    --> varisat/src/proof.rs:406:24
[INFO] [stdout]     |
[INFO] [stdout] 406 |         #[cfg_attr(not(test_drat_trim), ignore)]
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_drat_trim)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_drat_trim)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_rate`
[INFO] [stdout]    --> varisat/src/proof.rs:414:24
[INFO] [stdout]     |
[INFO] [stdout] 414 |         #[cfg_attr(not(test_rate), ignore)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_rate)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_rate)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_rate`
[INFO] [stdout]    --> varisat/src/proof.rs:422:24
[INFO] [stdout]     |
[INFO] [stdout] 422 |         #[cfg_attr(not(test_rate), ignore)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_rate)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_rate)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImplNode`
[INFO] [stdout]   --> varisat/src/prop.rs:13:38
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use graph::{Conflict, ImplGraph, ImplNode, Reason};
[INFO] [stdout]    |                                      ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> varisat-checker/src/transcript.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         &mut self,
[INFO] [stdout]    |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 44 |     ) -> Option<ProofTranscriptStep> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 44 |     ) -> Option<ProofTranscriptStep<'_>> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> varisat/src/config.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(DocDefault, ConfigUpdate)]
[INFO] [stdout]   |          ^---------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Default` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_DERIVE_Default_FOR_SolverConfig`
[INFO] [stdout] 6 | pub struct SolverConfig {
[INFO] [stdout]   |            ------------ `SolverConfig` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `DocDefault` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `DocDefault` may come from an old version of the `varisat_internal_macros` crate, try updating your dependency with `cargo update -p varisat_internal_macros`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `DocDefault` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat/src/variables.rs:101:33
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn global_from_user_mut(&mut self) -> VarBiMapMut {
[INFO] [stdout]     |                                 ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn global_from_user_mut(&mut self) -> VarBiMapMut<'_> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat/src/variables.rs:111:35
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn solver_from_global_mut(&mut self) -> VarBiMapMut {
[INFO] [stdout]     |                                   ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn solver_from_global_mut(&mut self) -> VarBiMapMut<'_> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat/src/variables.rs:121:33
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn user_from_global_mut(&mut self) -> VarBiMapMut {
[INFO] [stdout]     |                                 ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn user_from_global_mut(&mut self) -> VarBiMapMut<'_> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat/src/variables.rs:131:35
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn global_from_solver_mut(&mut self) -> VarBiMapMut {
[INFO] [stdout]     |                                   ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn global_from_solver_mut(&mut self) -> VarBiMapMut<'_> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> varisat/src/variables/var_map.rs:74:20
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn fwd_mut(&mut self) -> VarBiMapMut {
[INFO] [stdout]    |                    ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn fwd_mut(&mut self) -> VarBiMapMut<'_> {
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> varisat/src/variables/var_map.rs:82:20
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn bwd_mut(&mut self) -> VarBiMapMut {
[INFO] [stdout]    |                    ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn bwd_mut(&mut self) -> VarBiMapMut<'_> {
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_check_lrat`
[INFO] [stdout]    --> varisat-lrat/src/lib.rs:303:20
[INFO] [stdout]     |
[INFO] [stdout] 303 |     #[cfg_attr(not(test_check_lrat), ignore)]
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_check_lrat)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_check_lrat)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_check_lrat`
[INFO] [stdout]    --> varisat-lrat/src/lib.rs:331:20
[INFO] [stdout]     |
[INFO] [stdout] 331 |     #[cfg_attr(not(test_check_lrat), ignore)]
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_check_lrat)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_check_lrat)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_check_lrat`
[INFO] [stdout]    --> varisat-lrat/src/lib.rs:358:24
[INFO] [stdout]     |
[INFO] [stdout] 358 |         #[cfg_attr(not(test_check_lrat), ignore)]
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_check_lrat)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_check_lrat)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> varisat/src/config.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(DocDefault, ConfigUpdate)]
[INFO] [stdout]   |          ^---------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Default` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_DERIVE_Default_FOR_SolverConfig`
[INFO] [stdout] 6 | pub struct SolverConfig {
[INFO] [stdout]   |            ------------ `SolverConfig` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `DocDefault` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `DocDefault` may come from an old version of the `varisat_internal_macros` crate, try updating your dependency with `cargo update -p varisat_internal_macros`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `DocDefault` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat/src/variables.rs:101:33
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn global_from_user_mut(&mut self) -> VarBiMapMut {
[INFO] [stdout]     |                                 ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn global_from_user_mut(&mut self) -> VarBiMapMut<'_> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat/src/variables.rs:111:35
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn solver_from_global_mut(&mut self) -> VarBiMapMut {
[INFO] [stdout]     |                                   ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn solver_from_global_mut(&mut self) -> VarBiMapMut<'_> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat/src/variables.rs:121:33
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn user_from_global_mut(&mut self) -> VarBiMapMut {
[INFO] [stdout]     |                                 ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn user_from_global_mut(&mut self) -> VarBiMapMut<'_> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat/src/variables.rs:131:35
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn global_from_solver_mut(&mut self) -> VarBiMapMut {
[INFO] [stdout]     |                                   ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn global_from_solver_mut(&mut self) -> VarBiMapMut<'_> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> varisat/src/variables/var_map.rs:74:20
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn fwd_mut(&mut self) -> VarBiMapMut {
[INFO] [stdout]    |                    ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn fwd_mut(&mut self) -> VarBiMapMut<'_> {
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> varisat/src/variables/var_map.rs:82:20
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn bwd_mut(&mut self) -> VarBiMapMut {
[INFO] [stdout]    |                    ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn bwd_mut(&mut self) -> VarBiMapMut<'_> {
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 1m 05s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating varisat-internal-macros/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat-formula/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat-dimacs/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat-internal-proof/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat-checker/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat-lrat/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating varisat-cli/Cargo.toml from 2018 edition to 2021
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat-formula/src/cnf.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn new_var_iter(&mut self, count: usize) -> NewVarIter<Self> {
[INFO] [stdout]     |                     ^^^^^^^^^                   ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn new_var_iter(&mut self, count: usize) -> NewVarIter<'_, Self> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat-formula/src/cnf.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn new_lit_iter(&mut self, count: usize) -> NewVarIter<Self, Lit> {
[INFO] [stdout]     |                     ^^^^^^^^^                   ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn new_lit_iter(&mut self, count: usize) -> NewVarIter<'_, Self, Lit> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: varisat@0.2.2: drat-trim proof checker not found, some tests will be disabled: No such file or directory (os error 2)
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:31:30
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(value.to_le()) };
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 31 -         let bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(value.to_le()) };
[INFO] [stdout] 31 +         let bytes = unsafe { u64::to_ne_bytes(value.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:35:33
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let lo_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(lo_data.to_le()) };
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 35 -         let lo_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(lo_data.to_le()) };
[INFO] [stdout] 35 +         let lo_bytes = unsafe { u64::to_ne_bytes(lo_data.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:37:33
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let hi_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(hi_data.to_le()) };
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 37 -         let hi_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(hi_data.to_le()) };
[INFO] [stdout] 37 +         let hi_bytes = unsafe { u64::to_ne_bytes(hi_data.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[..8]).unwrap())
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 47 -         std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[..8]).unwrap())
[INFO] [stdout] 47 +         u64::from_ne_bytes(*<&[u8; 8]>::try_from(&bytes[..8]).unwrap())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: varisat@0.2.2: rate proof checker not found, some tests will be disabled: No such file or directory (os error 2)
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |             std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[8..]).unwrap())
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 60 -             std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[8..]).unwrap())
[INFO] [stdout] 60 +             u64::from_ne_bytes(*<&[u8; 8]>::try_from(&bytes[8..]).unwrap())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> varisat-checker/src/transcript.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         &mut self,
[INFO] [stdout]    |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 44 |     ) -> Option<ProofTranscriptStep> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 44 |     ) -> Option<ProofTranscriptStep<'_>> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking varisat v0.2.2 (/opt/rustwide/workdir/varisat)
[INFO] [stderr] warning: varisat-lrat@0.2.2: check-lrat utility not found, some tests will be disabled: No such file or directory (os error 2)
[INFO] [stderr]     Checking varisat-dimacs v0.2.2 (/opt/rustwide/workdir/varisat-dimacs)
[INFO] [stderr]     Checking varisat-checker v0.2.2 (/opt/rustwide/workdir/varisat-checker)
[INFO] [stderr]     Checking varisat-internal-macros v0.2.2 (/opt/rustwide/workdir/varisat-internal-macros)
[INFO] [stderr]     Checking varisat-internal-proof v0.2.2 (/opt/rustwide/workdir/varisat-internal-proof)
[INFO] [stderr]     Checking varisat-formula v0.2.2 (/opt/rustwide/workdir/varisat-formula)
[INFO] [stderr]    Migrating varisat/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed varisat/src/clause/db.rs (2 fixes)
[INFO] [stderr]        Fixed varisat/src/prop.rs (1 fix)
[INFO] [stderr]        Fixed varisat/src/clause/alloc.rs (5 fixes)
[INFO] [stderr]    Migrating varisat-dimacs/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> varisat/src/analyze_conflict.rs:311:38
[INFO] [stdout]     |
[INFO] [stdout] 311 |     'next_lit: while let Some(lit) = scan.next() {
[INFO] [stdout]     |                               ---    ^^^^^^^^^^^
[INFO] [stdout]     |                               |      |
[INFO] [stdout]     |                               |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `lit` calls a custom destructor
[INFO] [stdout]     |                               `lit` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 351 |                         for lit in analyze.to_clean.drain(top..) {
[INFO] [stdout]     |                                    -----------------------------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `iter` calls a custom destructor
[INFO] [stdout]     |                                    `iter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 367 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/vec_mut_scan-0.3.0/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl<'s, 'a, T: 'a> Drop for VecMutScanItem<'s, 'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `lit` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/vec_mut_scan-0.3.0/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl<'s, 'a, T: 'a> Drop for VecMutScanItem<'s, 'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/drain.rs:173:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> varisat/src/clause/reduce.rs:71:32
[INFO] [stdout]     |
[INFO] [stdout]  71 |         while let Some(cref) = scan.next() {
[INFO] [stdout]     |                        ----    ^^^^^^^^^^^
[INFO] [stdout]     |                        |       |
[INFO] [stdout]     |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `cref` calls a custom destructor
[INFO] [stdout]     |                        `cref` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  94 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/vec_mut_scan-0.3.0/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl<'s, 'a, T: 'a> Drop for VecMutScanItem<'s, 'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cref` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/vec_mut_scan-0.3.0/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl<'s, 'a, T: 'a> Drop for VecMutScanItem<'s, 'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> varisat/src/clause/reduce.rs:98:28
[INFO] [stdout]     |
[INFO] [stdout]  98 |     while let Some(cref) = scan.next() {
[INFO] [stdout]     |                    ----    ^^^^^^^^^^^
[INFO] [stdout]     |                    |       |
[INFO] [stdout]     |                    |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `cref` calls a custom destructor
[INFO] [stdout]     |                    `cref` will be dropped later as of Edition 2024
[INFO] [stdout]  99 |         ctx.part_mut(ClauseAllocP).header_mut(*cref).set_mark(false);
[INFO] [stdout] 100 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/vec_mut_scan-0.3.0/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl<'s, 'a, T: 'a> Drop for VecMutScanItem<'s, 'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cref` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/vec_mut_scan-0.3.0/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl<'s, 'a, T: 'a> Drop for VecMutScanItem<'s, 'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking varisat-cli v0.2.2 (/opt/rustwide/workdir/varisat-cli)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> varisat/src/load.rs:109:27
[INFO] [stdout]     |
[INFO] [stdout] 109 |     while let Some(lit) = lits_scan.next() {
[INFO] [stdout]     |                    ---    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                    |      |
[INFO] [stdout]     |                    |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `lit` calls a custom destructor
[INFO] [stdout]     |                    `lit` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 120 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/vec_mut_scan-0.3.0/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl<'s, 'a, T: 'a> Drop for VecMutScanItem<'s, 'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `lit` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/vec_mut_scan-0.3.0/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl<'s, 'a, T: 'a> Drop for VecMutScanItem<'s, 'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed varisat-dimacs/src/lib.rs (1 fix)
[INFO] [stderr]    Migrating varisat-internal-macros/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed varisat-internal-macros/src/lib.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> varisat-internal-macros/src/lib.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |             path,
[INFO] [stdout]    |             ----
[INFO] [stdout]    |             |
[INFO] [stdout]    |             `path` calls a custom destructor
[INFO] [stdout]    |             `path` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 22 |         })) = attr.parse_meta()
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 30 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `path` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> varisat/src/analyze_conflict.rs:311:38
[INFO] [stdout]     |
[INFO] [stdout] 311 |     'next_lit: while let Some(lit) = scan.next() {
[INFO] [stdout]     |                               ---    ^^^^^^^^^^^
[INFO] [stdout]     |                               |      |
[INFO] [stdout]     |                               |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `lit` calls a custom destructor
[INFO] [stdout]     |                               `lit` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 351 |                         for lit in analyze.to_clean.drain(top..) {
[INFO] [stdout]     |                                    -----------------------------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `iter` calls a custom destructor
[INFO] [stdout]     |                                    `iter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 367 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/vec_mut_scan-0.3.0/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl<'s, 'a, T: 'a> Drop for VecMutScanItem<'s, 'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `lit` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/vec_mut_scan-0.3.0/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl<'s, 'a, T: 'a> Drop for VecMutScanItem<'s, 'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/vec/drain.rs:173:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> varisat/src/clause/reduce.rs:71:32
[INFO] [stdout]     |
[INFO] [stdout]  71 |         while let Some(cref) = scan.next() {
[INFO] [stdout]     |                        ----    ^^^^^^^^^^^
[INFO] [stdout]     |                        |       |
[INFO] [stdout]     |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `cref` calls a custom destructor
[INFO] [stdout]     |                        `cref` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  94 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/vec_mut_scan-0.3.0/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl<'s, 'a, T: 'a> Drop for VecMutScanItem<'s, 'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cref` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/vec_mut_scan-0.3.0/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl<'s, 'a, T: 'a> Drop for VecMutScanItem<'s, 'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> varisat/src/clause/reduce.rs:98:28
[INFO] [stdout]     |
[INFO] [stdout]  98 |     while let Some(cref) = scan.next() {
[INFO] [stdout]     |                    ----    ^^^^^^^^^^^
[INFO] [stdout]     |                    |       |
[INFO] [stdout]     |                    |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `cref` calls a custom destructor
[INFO] [stdout]     |                    `cref` will be dropped later as of Edition 2024
[INFO] [stdout]  99 |         ctx.part_mut(ClauseAllocP).header_mut(*cref).set_mark(false);
[INFO] [stdout] 100 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/vec_mut_scan-0.3.0/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl<'s, 'a, T: 'a> Drop for VecMutScanItem<'s, 'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cref` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/vec_mut_scan-0.3.0/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl<'s, 'a, T: 'a> Drop for VecMutScanItem<'s, 'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> varisat/src/load.rs:109:27
[INFO] [stdout]     |
[INFO] [stdout] 109 |     while let Some(lit) = lits_scan.next() {
[INFO] [stdout]     |                    ---    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                    |      |
[INFO] [stdout]     |                    |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `lit` calls a custom destructor
[INFO] [stdout]     |                    `lit` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 120 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/vec_mut_scan-0.3.0/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl<'s, 'a, T: 'a> Drop for VecMutScanItem<'s, 'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `lit` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/vec_mut_scan-0.3.0/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl<'s, 'a, T: 'a> Drop for VecMutScanItem<'s, 'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating varisat-checker/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> varisat-checker/src/state.rs:604:15
[INFO] [stdout]     |
[INFO] [stdout] 604 |         match parser.parse_step(&mut buffer) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 605 |             Ok(step) => check_step(ctx.borrow(), step)?,
[INFO] [stdout]     |                         -------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 606 |             Err(err) => match err.downcast::<io::Error>() {
[INFO] [stdout]     |                               ---------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 620 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.32/src/error.rs:505:1
[INFO] [stdout]     |
[INFO] [stdout] 505 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.32/src/error.rs:505:1
[INFO] [stdout]     |
[INFO] [stdout] 505 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.32/src/error.rs:505:1
[INFO] [stdout]     |
[INFO] [stdout] 505 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking varisat-lrat v0.2.2 (/opt/rustwide/workdir/varisat-lrat)
[INFO] [stderr]    Migrating varisat-formula/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed varisat-formula/src/lib.rs (7 fixes)
[INFO] [stderr]        Fixed varisat-formula/src/cnf.rs (2 fixes)
[INFO] [stderr]    Migrating varisat-internal-proof/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed varisat-internal-proof/src/binary_format.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> varisat-internal-macros/src/lib.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |             path,
[INFO] [stdout]    |             ----
[INFO] [stdout]    |             |
[INFO] [stdout]    |             `path` calls a custom destructor
[INFO] [stdout]    |             `path` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 22 |         })) = attr.parse_meta()
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 30 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `path` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating varisat-cli/src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> varisat-cli/src/main.rs:178:11
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut lrat_processor;
[INFO] [stdout]     |         ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `lrat_processor` calls a custom destructor
[INFO] [stdout]     |         `lrat_processor` will be dropped later as of Edition 2024
[INFO] [stdout] 123 |
[INFO] [stdout] 124 |     let mut solver = Solver::new();
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `solver` calls a custom destructor
[INFO] [stdout]     |         `solver` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 130 |     let mut locked_stdin;
[INFO] [stdout]     |         ----------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `locked_stdin` calls a custom destructor
[INFO] [stdout]     |         `locked_stdin` will be dropped later as of Edition 2024
[INFO] [stdout] 131 |     let mut opened_file;
[INFO] [stdout]     |         ---------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `opened_file` calls a custom destructor
[INFO] [stdout]     |         `opened_file` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 178 |     match solver.solve() {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 198 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.32/src/error.rs:505:1
[INFO] [stdout]     |
[INFO] [stdout] 505 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `lrat_processor` invokes this custom destructor
[INFO] [stdout]    --> varisat-lrat/src/lib.rs:212:1
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl<'a> Drop for WriteLrat<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `solver` invokes this custom destructor
[INFO] [stdout]    --> varisat/src/solver.rs:265:1
[INFO] [stdout]     |
[INFO] [stdout] 265 | impl<'a> Drop for Solver<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_stdin` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `opened_file` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> varisat-cli/src/main.rs:178:11
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut lrat_processor;
[INFO] [stdout]     |         ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `lrat_processor` calls a custom destructor
[INFO] [stdout]     |         `lrat_processor` will be dropped later as of Edition 2024
[INFO] [stdout] 123 |
[INFO] [stdout] 124 |     let mut solver = Solver::new();
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `solver` calls a custom destructor
[INFO] [stdout]     |         `solver` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 130 |     let mut locked_stdin;
[INFO] [stdout]     |         ----------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `locked_stdin` calls a custom destructor
[INFO] [stdout]     |         `locked_stdin` will be dropped later as of Edition 2024
[INFO] [stdout] 131 |     let mut opened_file;
[INFO] [stdout]     |         ---------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `opened_file` calls a custom destructor
[INFO] [stdout]     |         `opened_file` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 178 |     match solver.solve() {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 198 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.32/src/error.rs:505:1
[INFO] [stdout]     |
[INFO] [stdout] 505 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `lrat_processor` invokes this custom destructor
[INFO] [stdout]    --> varisat-lrat/src/lib.rs:212:1
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl<'a> Drop for WriteLrat<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `solver` invokes this custom destructor
[INFO] [stdout]    --> varisat/src/solver.rs:265:1
[INFO] [stdout]     |
[INFO] [stdout] 265 | impl<'a> Drop for Solver<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_stdin` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `opened_file` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating varisat/tests/checker.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating varisat/tests/cnfs.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed varisat/tests/cnfs.rs (1 fix)
[INFO] [stderr]    Migrating varisat-lrat/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 1m 23s
[INFO] [stderr] crater-edition-check: varisat-internal-macros v0.2.2 (/opt/rustwide/workdir/varisat-internal-macros) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: varisat-formula v0.2.2 (/opt/rustwide/workdir/varisat-formula) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: varisat-dimacs v0.2.2 (/opt/rustwide/workdir/varisat-dimacs) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: varisat-internal-proof v0.2.2 (/opt/rustwide/workdir/varisat-internal-proof) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: varisat-checker v0.2.2 (/opt/rustwide/workdir/varisat-checker) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: varisat v0.2.2 (/opt/rustwide/workdir/varisat) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: varisat-lrat v0.2.2 (/opt/rustwide/workdir/varisat-lrat) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: varisat-cli v0.2.2 (/opt/rustwide/workdir/varisat-cli) updating edition from 2021 to 2024
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2024 which implies `resolver = "3"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2024 resolver, specify `workspace.resolver = "3"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling varisat v0.2.2 (/opt/rustwide/workdir/varisat)
[INFO] [stderr]     Checking varisat-formula v0.2.2 (/opt/rustwide/workdir/varisat-formula)
[INFO] [stderr]    Compiling varisat-internal-macros v0.2.2 (/opt/rustwide/workdir/varisat-internal-macros)
[INFO] [stderr]    Compiling varisat-lrat v0.2.2 (/opt/rustwide/workdir/varisat-lrat)
[INFO] [stderr]    Compiling varisat-cli v0.2.2 (/opt/rustwide/workdir/varisat-cli)
[INFO] [stderr] warning: varisat@0.2.2: drat-trim proof checker not found, some tests will be disabled: No such file or directory (os error 2)
[INFO] [stderr] warning: varisat@0.2.2: rate proof checker not found, some tests will be disabled: No such file or directory (os error 2)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat-formula/src/cnf.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn new_var_iter(&mut self, count: usize) -> NewVarIter<Self> {
[INFO] [stdout]     |                     ^^^^^^^^^                   ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn new_var_iter(&mut self, count: usize) -> NewVarIter<'_, Self> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat-formula/src/cnf.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn new_lit_iter(&mut self, count: usize) -> NewVarIter<Self, Lit> {
[INFO] [stdout]     |                     ^^^^^^^^^                   ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn new_lit_iter(&mut self, count: usize) -> NewVarIter<'_, Self, Lit> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat-formula/src/cnf.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn new_var_iter(&mut self, count: usize) -> NewVarIter<Self> {
[INFO] [stdout]     |                     ^^^^^^^^^                   ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn new_var_iter(&mut self, count: usize) -> NewVarIter<'_, Self> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> varisat-formula/src/cnf.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn new_lit_iter(&mut self, count: usize) -> NewVarIter<Self, Lit> {
[INFO] [stdout]     |                     ^^^^^^^^^                   ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn new_lit_iter(&mut self, count: usize) -> NewVarIter<'_, Self, Lit> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: varisat-lrat@0.2.2: check-lrat utility not found, some tests will be disabled: No such file or directory (os error 2)
[INFO] [stderr]     Checking varisat-dimacs v0.2.2 (/opt/rustwide/workdir/varisat-dimacs)
[INFO] [stderr]     Checking varisat-internal-proof v0.2.2 (/opt/rustwide/workdir/varisat-internal-proof)
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:31:30
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(value.to_le()) };
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 31 -         let bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(value.to_le()) };
[INFO] [stdout] 31 +         let bytes = unsafe { u64::to_ne_bytes(value.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:35:33
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let lo_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(lo_data.to_le()) };
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 35 -         let lo_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(lo_data.to_le()) };
[INFO] [stdout] 35 +         let lo_bytes = unsafe { u64::to_ne_bytes(lo_data.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:37:33
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let hi_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(hi_data.to_le()) };
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 37 -         let hi_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(hi_data.to_le()) };
[INFO] [stdout] 37 +         let hi_bytes = unsafe { u64::to_ne_bytes(hi_data.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[..8]).unwrap())
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 47 -         std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[..8]).unwrap())
[INFO] [stdout] 47 +         u64::from_ne_bytes(*<&[u8; 8]>::try_from(&bytes[..8]).unwrap())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |             std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[8..]).unwrap())
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 60 -             std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[8..]).unwrap())
[INFO] [stdout] 60 +             u64::from_ne_bytes(*<&[u8; 8]>::try_from(&bytes[8..]).unwrap())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:31:30
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(value.to_le()) };
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 31 -         let bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(value.to_le()) };
[INFO] [stdout] 31 +         let bytes = unsafe { u64::to_ne_bytes(value.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:35:33
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let lo_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(lo_data.to_le()) };
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 35 -         let lo_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(lo_data.to_le()) };
[INFO] [stdout] 35 +         let lo_bytes = unsafe { u64::to_ne_bytes(lo_data.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:37:33
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let hi_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(hi_data.to_le()) };
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 37 -         let hi_bytes = unsafe { std::mem::transmute::<u64, [u8; 8]>(hi_data.to_le()) };
[INFO] [stdout] 37 +         let hi_bytes = unsafe { u64::to_ne_bytes(hi_data.to_le()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[..8]).unwrap())
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 47 -         std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[..8]).unwrap())
[INFO] [stdout] 47 +         u64::from_ne_bytes(*<&[u8; 8]>::try_from(&bytes[..8]).unwrap())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> varisat-internal-proof/src/vli_enc.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |             std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[8..]).unwrap())
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 60 -             std::mem::transmute::<[u8; 8], u64>(*<&[u8; 8]>::try_from(&bytes[8..]).unwrap())
[INFO] [stdout] 60 +             u64::from_ne_bytes(*<&[u8; 8]>::try_from(&bytes[8..]).unwrap())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking varisat-checker v0.2.2 (/opt/rustwide/workdir/varisat-checker)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> varisat-checker/src/transcript.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         &mut self,
[INFO] [stdout]    |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 44 |     ) -> Option<ProofTranscriptStep> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 44 |     ) -> Option<ProofTranscriptStep<'_>> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> varisat-checker/src/transcript.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         &mut self,
[INFO] [stdout]    |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 44 |     ) -> Option<ProofTranscriptStep> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 44 |     ) -> Option<ProofTranscriptStep<'_>> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: proc-macro derive panicked
[INFO] [stdout]  --> varisat/src/config.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(DocDefault, ConfigUpdate)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: message: Failed to parse gen_impl: Error("unexpected end of input, expected token tree")
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: proc-macro derive panicked
[INFO] [stdout]  --> varisat/src/config.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(DocDefault, ConfigUpdate)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: message: Failed to parse gen_impl: Error("unexpected end of input, expected token tree")
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImplNode`
[INFO] [stdout]   --> varisat/src/prop.rs:13:38
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use graph::{Conflict, ImplGraph, ImplNode, Reason};
[INFO] [stdout]    |                                      ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_drat_trim`
[INFO] [stdout]    --> varisat/src/proof.rs:398:24
[INFO] [stdout]     |
[INFO] [stdout] 398 |         #[cfg_attr(not(test_drat_trim), ignore)]
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_drat_trim)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_drat_trim)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_drat_trim`
[INFO] [stdout]    --> varisat/src/proof.rs:406:24
[INFO] [stdout]     |
[INFO] [stdout] 406 |         #[cfg_attr(not(test_drat_trim), ignore)]
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_drat_trim)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_drat_trim)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_rate`
[INFO] [stdout]    --> varisat/src/proof.rs:414:24
[INFO] [stdout]     |
[INFO] [stdout] 414 |         #[cfg_attr(not(test_rate), ignore)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_rate)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_rate)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_rate`
[INFO] [stdout]    --> varisat/src/proof.rs:422:24
[INFO] [stdout]     |
[INFO] [stdout] 422 |         #[cfg_attr(not(test_rate), ignore)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_rate)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_rate)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImplNode`
[INFO] [stdout]   --> varisat/src/prop.rs:13:38
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use graph::{Conflict, ImplGraph, ImplNode, Reason};
[INFO] [stdout]    |                                      ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `default` found for struct `config::SolverConfig` in the current scope
[INFO] [stdout]   --> varisat/src/clause/activity.rs:26:44
[INFO] [stdout]    |
[INFO] [stdout] 26 |             inv_decay: 1.0 / SolverConfig::default().clause_activity_decay,
[INFO] [stdout]    |                                            ^^^^^^^ associated function or constant not found in `config::SolverConfig`
[INFO] [stdout]    |
[INFO] [stdout]   ::: varisat/src/config.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct SolverConfig {
[INFO] [stdout]    | ----------------------- associated function or constant `default` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `default`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `Default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `config::SolverConfig: Default` is not satisfied
[INFO] [stdout]   --> varisat/src/context.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(PartialRefTarget, Default)]
[INFO] [stdout]    |                            ------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub solver_config: SolverConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `config::SolverConfig`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `config::SolverConfig` with `#[derive(Default)]`
[INFO] [stdout]   --> varisat/src/config.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 + #[derive(Default)]
[INFO] [stdout]  7 | pub struct SolverConfig {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `default` found for struct `config::SolverConfig` in the current scope
[INFO] [stdout]   --> varisat/src/decision/vsids.rs:48:44
[INFO] [stdout]    |
[INFO] [stdout] 48 |             inv_decay: 1.0 / SolverConfig::default().vsids_decay,
[INFO] [stdout]    |                                            ^^^^^^^ associated function or constant not found in `config::SolverConfig`
[INFO] [stdout]    |
[INFO] [stdout]   ::: varisat/src/config.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct SolverConfig {
[INFO] [stdout]    | ----------------------- associated function or constant `default` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `default`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `Default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `default` found for struct `config::SolverConfig` in the current scope
[INFO] [stdout]   --> varisat/src/clause/activity.rs:26:44
[INFO] [stdout]    |
[INFO] [stdout] 26 |             inv_decay: 1.0 / SolverConfig::default().clause_activity_decay,
[INFO] [stdout]    |                                            ^^^^^^^ associated function or constant not found in `config::SolverConfig`
[INFO] [stdout]    |
[INFO] [stdout]   ::: varisat/src/config.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct SolverConfig {
[INFO] [stdout]    | ----------------------- associated function or constant `default` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `default`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `Default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `config::SolverConfig: Default` is not satisfied
[INFO] [stdout]   --> varisat/src/context.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(PartialRefTarget, Default)]
[INFO] [stdout]    |                            ------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub solver_config: SolverConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `config::SolverConfig`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `config::SolverConfig` with `#[derive(Default)]`
[INFO] [stdout]   --> varisat/src/config.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 + #[derive(Default)]
[INFO] [stdout]  7 | pub struct SolverConfig {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `default` found for struct `config::SolverConfig` in the current scope
[INFO] [stdout]   --> varisat/src/decision/vsids.rs:48:44
[INFO] [stdout]    |
[INFO] [stdout] 48 |             inv_decay: 1.0 / SolverConfig::default().vsids_decay,
[INFO] [stdout]    |                                            ^^^^^^^ associated function or constant not found in `config::SolverConfig`
[INFO] [stdout]    |
[INFO] [stdout]   ::: varisat/src/config.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct SolverConfig {
[INFO] [stdout]    | ----------------------- associated function or constant `default` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `default`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `Default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] warning: varisat@0.2.2: drat-trim proof checker not found, some tests will be disabled: No such file or directory (os error 2)
[INFO] [stderr] warning: varisat@0.2.2: rate proof checker not found, some tests will be disabled: No such file or directory (os error 2)
[INFO] [stderr] error: could not compile `varisat` (lib) due to 4 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] warning: varisat@0.2.2: drat-trim proof checker not found, some tests will be disabled: No such file or directory (os error 2)
[INFO] [stderr] warning: varisat@0.2.2: rate proof checker not found, some tests will be disabled: No such file or directory (os error 2)
[INFO] [stderr] error: could not compile `varisat` (lib test) due to 4 previous errors; 5 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "d14d30ae1e18830603eae36ed64517e240c99093ddde577ddb91868e8d3565cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d14d30ae1e18830603eae36ed64517e240c99093ddde577ddb91868e8d3565cc", kill_on_drop: false }`
[INFO] [stdout] d14d30ae1e18830603eae36ed64517e240c99093ddde577ddb91868e8d3565cc
